home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d17 / vprnt301.arc / VPRINT.DOC < prev   
Text File  |  1987-04-12  |  31KB  |  1,387 lines

  1.  
  2.  
  3.                                           READ
  4.                                           THIS
  5.                                          BEFORE
  6.                                         PRINTING!!!!
  7.  
  8.         This document has been formatted in a special way. Virtually all dot
  9.         matrix printers have a condensed mode which prints 132 characters
  10.         across a standard 8 1/2 inch page.  When this file is printed out in
  11.         condensed mode, the resulting printed pages can be cut down to 5 1/2 X
  12.         8 1/2 inches.  The cut pages will fit nicely in the back of your
  13.         DOS manual for storage.
  14.  
  15.         Typically, you can turn on this mode by sending a special control
  16.         sequence to the printer from BASIC.  For example, you can turn on the
  17.         condensed mode of the IBM/Epson printer with the BASIC statement:
  18.         LPRINT chr$(15).  If your printer has such a condensed mode, turn it
  19.         on now, before printing the rest of this document.
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.                                       (tm)
  76.                                  VPRINT
  77.  
  78.                          Virtual Printer Utility
  79.                       for the IBM Personal Computer
  80.  
  81.                               User's Manual
  82.                      (c) 1986, 1987 by David Whitman
  83.                               Version 3.01
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.     David Whitman
  109.     P.O. Box 1157
  110.     North Wales, PA 19454
  111.     (215) 234-4084 (evenings only)
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.                        Table of Contents
  138.  
  139.  
  140.  
  141.     What is VPRINT?.............................................1
  142.  
  143.     System Requirements.........................................2
  144.  
  145.     Starting VPRINT.............................................3
  146.  
  147.     Advanced Usage..............................................4
  148.  
  149.     Emulation Options...........................................5
  150.  
  151.     Filter Options..............................................6
  152.  
  153.     Enable Options..............................................7
  154.  
  155.     Miscellaneous Options.......................................9
  156.  
  157.     Limitations................................................10
  158.  
  159.     Miscellaneous and A Word From Our Sponsor..................12
  160.  
  161.     Registration Form..........................................17
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                                                                     1
  201.     >> What is VPRINT? <<
  202.  
  203.     VPRINT implements a "virtual printer" by capturing output
  204.     normally sent to your printer and redirecting it to a file of
  205.     your chosing.  There are many reasons you might want to capture
  206.     printer output:
  207.  
  208.        * Producing formatted files from software packages that don't
  209.          support "printing to disk".
  210.  
  211.        * Setting up word processors and other programs to work with
  212.          your printer.  By capturing to disk, you can see exactly
  213.          what's being sent, and pinpoint problems immediately.
  214.  
  215.        * Capturing output generated on one computer, to be printed on
  216.          a different system.
  217.  
  218.        * Taking disk "snapshots" of your video screen.  When VPRINT
  219.          is running, the PrtSc key copies the screen to your disk
  220.          file.
  221.  
  222.        * Delaying printer output for later printing.  VPRINT responds
  223.          much faster than a "real" printer, but takes up much less
  224.          memory than most print spooling software.  If you can't
  225.          afford the memory for a print spooler, you can VPRINT
  226.          quickly, then print the file later during a time when your
  227.          computer is idle.
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.                                                                     2
  267.  
  268.     >> System Requirements <<
  269.  
  270.     To run VPRINT, you need:
  271.  
  272.         IBM PC
  273.  
  274.         64K of memory, minimum
  275.  
  276.         1 disk drive, minimum
  277.  
  278.         DOS 2.0 or later
  279.  
  280.     VPRINT is designed to run on IBM PCs, but should run on all
  281.     systems that are compatible with the IBM BIOS.
  282.  
  283.     The following systems are known to run VPRINT successfully.  If
  284.     you are using VPRINT on a computer not on this list, please
  285.     write, and the list will be updated so that others can share this
  286.     information.
  287.  
  288.            IBM PC
  289.            IBM XT
  290.            IBM 3270 PC
  291.            IBM 3270 PC/G
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.                                                                     3
  333.  
  334.     >> Starting VPRINT <<
  335.  
  336.     To capture printer output, you must "install" VPRINT.
  337.     Installation temporarily grafts a portion of VPRINT onto your
  338.     computer's input/output system.  Once installed, VPRINT remains a
  339.     part of the I/O system until you either shut your computer off,
  340.     or reset the system by pressing Ctrl-Alt-Del.
  341.  
  342.     To install VPRINT, type:
  343.  
  344.         VPRINT filename.ext  /i
  345.  
  346.     Use whatever filename you'd like printer output to be sent to.
  347.     The filename can optionally have a drive and/or pathname.  If you
  348.     don't use a filename, VPRINT will create a file named
  349.     VIRTUAL.PRN for you in the root directory of the default drive.
  350.  
  351.     The "/i" tells VPRINT that you want to install the program, and
  352.     if a filename is used, the "/i" must come AFTER the filename.
  353.  
  354.     After you type the above command, VPRINT will respond:
  355.  
  356.  
  357.          VPRINT - virtual printer (version 3.01)
  358.  
  359.          User-supported software by D. Whitman
  360.          For help/info, type VPRINT ?
  361.  
  362.          Resident section has been installed.
  363.  
  364.     As programs attempt to send output to your printer, VPRINT
  365.     intercepts the output, and stores it in an internal buffer.
  366.     Every time this buffer fills up, VPRINT dumps the buffer to the
  367.     disk file you specified during installation.
  368.  
  369.     After you have finished your printing, the buffer may still
  370.     contain some of your output, not yet transferred to disk.  Before
  371.     using the output file, you should ask VPRINT to "flush" the
  372.     buffer, using the command:
  373.  
  374.          VPRINT /f
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.                                                                     4
  399.     >> Advanced Usage <<
  400.  
  401.     The procedure given in the previous section will allow you to
  402.     capture printer output from most software packages, but does not
  403.     make use of all of VPRINT's capabilities.  This section will
  404.     discuss these further options.
  405.  
  406.     The VPRINT command has the following syntax:
  407.  
  408.        VPRINT [?] [d:][path][filename[.ext]]] /options
  409.  
  410.     If you type VPRINT ?, a one page help screen will be printed.
  411.  
  412.     You can specify a fully qualified file name, including drive and
  413.     path.  After installation, you can change the active printer file
  414.     by running VPRINT with a different filename.  This modifies the
  415.     resident code without loading a new copy or using more memory.
  416.  
  417.     VPRINT's options all start with a slash character "/" followed by
  418.     a single letter or number.  If a filename is used, the options
  419.     must come AFTER the filename.  Multiple options can be used.  The
  420.     following options are available:
  421.  
  422.         /i      install (required to load resident code)
  423.         /f      flush - empty any buffered output to disk
  424.         /s      report status
  425.  
  426.         /1      emulate LPT1:
  427.         /2      emulate LPT2:
  428.         /3      emulate both printers (default)
  429.  
  430.         /n      neutral - don't filter output (default)
  431.         /l      drop LFs, expand CR to CR LF
  432.         /c      drop CRs, expand LF to CR LF
  433.  
  434.         /d      disable - flush buffer, use physical printer
  435.         /e      enable - use virtual printer again, after /d
  436.  
  437.         /h      harmless output - use ultra-safe output (default)
  438.         /r      risky output - allow some risk in output
  439.  
  440.     Again, like the filename, you can install VPRINT using one set of
  441.     options, then change by running VPRINT again with different
  442.     options.  The new options will modify the resident code without
  443.     using more memory.  The following sections will discuss these
  444.     options in more detail.
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.                                                                     5
  465.  
  466.     >> Emulation Options <<
  467.  
  468.     You can control which printer port(s) VPRINT emulates.  By
  469.     default, VPRINT redirects printer output intended for both LPT1:
  470.     and LPT2:.  You can restrict this to only one printer using
  471.     options /1 and /2.
  472.  
  473.     For example, if you only want to capture output from LPT1:, you
  474.     would install VPRINT like this:
  475.  
  476.         VPRINT /i /1
  477.  
  478.     Alternatively, if VPRINT is already installed, you can restrict
  479.     capture to LPT2: with this command:
  480.  
  481.         VPRINT /2
  482.  
  483.     The /3 option returns you to the default state, where output to
  484.     both printer ports is captured.
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.                                                                     6
  531.  
  532.     >> Filter Options <<
  533.  
  534.     By default, VPRINT stores to disk exactly what is being sent to
  535.     your printer.  However, under certain circumstances, it is
  536.     desirable to "filter" the output slightly.
  537.  
  538.     Standard DOS files end each line with a carriage return character
  539.     (CR), followed by a line feed character (LF).  Many programs,
  540.     including most word processors, will require files to be in this
  541.     format.  Unfortunately, when sending output to a printer, not all
  542.     programs terminate lines with a CR LF pair.
  543.  
  544.     For example, Volkswriter sends only line feeds at the end of
  545.     blank lines.  This works fine when sent to a printer, but if
  546.     captured to a file, the resulting file will look very strange
  547.     when re-edited. (Multiple blank lines disappear, and are replaced
  548.     with a single line full of boxes with holes in them -the screen
  549.     representation of the line feed character.)
  550.  
  551.     At least on older PC's, the PrtSc function acts even stranger.
  552.     PrtSc terminates each line exactly backwards, with a LF followed
  553.     by a CR.  This combination will confuse most text editors,
  554.     causing very strange behavior.
  555.  
  556.     VPRINT has two "filtering" modes which tend to force printed
  557.     output into standard DOS format.  These modes ignore either CRs
  558.     or LFs, while replacing the other character with a CR LF pair.
  559.  
  560.     Option /C ignores carriage returns, and expands LF to CR LF.
  561.     Similarly, /L ignores printed line feeds, but adds one after each
  562.     CR.
  563.  
  564.     If your captured output looks strange, try turning on the
  565.     different filtering modes and see if your output looks more
  566.     normal.
  567.  
  568.     You can turn off filtering with the /N option.  After /N is in
  569.     effect, output will again be captured verbatim.
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.                                                                     7
  597.  
  598.     >> Enable Options <<
  599.  
  600.     Once VPRINT is installed, it remains a part of your computer's
  601.     input/output system until you either turn off your computer or
  602.     re-boot.  However, VPRINT can be temporarily disabled to allow
  603.     output to go to your printer as usual.
  604.  
  605.     Option /D disables VPRINT.  When /D is in effect, VPRINT remains
  606.     resident, but passes output unmodified to your printer.  Option
  607.     /D also flushes VPRINT's internal buffer, so that all your output
  608.     is available on disk.
  609.  
  610.     Option /E enables VPRINT, presumably after it's been disabled
  611.     with option /D.  When option /E is in effect, printer output is
  612.     once again redirected to your disk file.
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.                                                                     8
  663.     >>Output Mode<<
  664.  
  665.     For technical reasons, it can be dangerous for a memory resident
  666.     program like VPRINT to perform disk access.  If disk output is
  667.     performed at an inopportune moment, your computer could lock up
  668.     and require rebooting.  To help avoid this situation, VPRINT
  669.     supports two modes of disk output.
  670.  
  671.     Option /H specifies harmless output, and is the default mode.
  672.     When /H is in effect, VPRINT will only attempt to write to disk
  673.     under circumstances it KNOWS will be safe.  However, this can
  674.     present a problem if VPRINT's internal buffer fills up before a
  675.     known safe opportunity occurs.  VPRINT addresses this situation
  676.     by accepting as much output as possible, then simply ignoring
  677.     additional characters until an opportunity for output occurs.
  678.  
  679.     Whenever VPRINT's buffer is getting too full, a status signal is
  680.     returned after each print request indicating that your printer is
  681.     "turned off".  If your software monitors printer status during
  682.     output, it should stop and ask you to correct the situation.
  683.     Often, VPRINT will be able to dump its buffer to disk during the
  684.     time your software is asking you to turn the printer back on.
  685.     You should be able to restart printing immediately, with no other
  686.     action on your part.  If the restart is unsucessful, abort
  687.     printing, and try changing VPRINT's output mode to /R.
  688.  
  689.     Option /R specifies risky output.  When /R is in effect, VPRINT
  690.     will write output to disk whenever its internal buffer fills up.
  691.     You should use risky mode with programs that don't intelligently
  692.     monitor printer status during printing, and might lock up or
  693.     continue to output after VPRINT's buffer was full.  While it is
  694.     safer and preferable to use "harmless mode", most programs will
  695.     be compatable with "risky mode".  (In fact, earlier versions of
  696.     VPRINT used only this mode.)  Incompatibility will be obvious;
  697.     your computer will lock up after a few pages of output, and
  698.     you'll need to reboot.
  699.  
  700.     NOTE: Since it *is* slightly risky, it's probably a good idea to
  701.     back up any data on your system prior to activating option /R.
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.                                                                     9
  729.  
  730.     >> Miscellaneous Options <<
  731.  
  732.     A short help summary will be printed if you type VPRINT ?, or
  733.     just VPRINT with no other options.
  734.  
  735.     The /I option installs VPRINT.  This option loads VPRINT's
  736.     resident code, and grafts it onto the I/O system of your
  737.     computer.  Once VPRINT is loaded, there is no need to specify
  738.     /I on subsequent commands.  If you use /I when the resident code
  739.     is already loaded, VPRINT will detect the resident code and will
  740.     print an error message without re-loading.
  741.  
  742.     Option /F flushes VPRINT's internal buffer to disk.  To avoid
  743.     constantly running your disk drive during printing, VPRINT
  744.     collects about 2000 characters, then writes them to disk all at
  745.     once.  Unless you output an exact multiple of 2048 characters,
  746.     when printing is finished, part of your output is still in
  747.     VPRINT's internal buffer.  Option /F forces the last part of your
  748.     output to disk.
  749.  
  750.     Incidentally, VPRINT's internal buffer is automatically flushed
  751.     before shifting to a new file, and also before disabling, if you
  752.     turn on option /D.
  753.  
  754.     Option /S prints a status report, indicating which options are in
  755.     effect, and where your printed output is being sent.  This is the
  756.     same report which is printed after using any of the other
  757.     options, but /S allows you to check status without changing
  758.     anything.
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.                                                                    10
  795.  
  796.     >> Limitations <<
  797.  
  798.     VPRINT writes to your disk drive using functions provided by DOS.
  799.     Technically, it is "illegal" for the input/output system to get
  800.     services from DOS (the organization is such that DOS is supposed
  801.     to get services from the input/output system, not the other way
  802.     around) but under almost all circumstances, VPRINT gets away with
  803.     this irregularity, particularly when harmless mode is active.
  804.  
  805.     Although it would have been possible to design VPRINT to go
  806.     around DOS and take direct control of one of your disk drives,
  807.     this would run the risk of destroying data on the disk if
  808.     something went wrong.  By asking DOS for services, disk data is
  809.     best protected, but at the risk of locking up your system under
  810.     certain rare circumstances.
  811.  
  812.     The technical problem is caused by a phenomenon called
  813.     re-entrance.  If VPRINT calls DOS for services when DOS is
  814.     already busy, things can get messed up, and your system can
  815.     crash.  Particularly bad is the situation where the same section
  816.     of DOS that VPRINT calls for disk output is calling VPRINT for
  817.     printer output.  Situations where DOS treats your printer like a
  818.     disk file tend to give VPRINT problems.
  819.  
  820.     For example, when VPRINT is installed in risky mode, the
  821.     following DOS command will often lock up your system:
  822.  
  823.          COPY filename1 PRN
  824.  
  825.     DOS treats device PRN like a disk file, and when VPRINT calls DOS
  826.     for services, the appropriate routines are already in use.  A
  827.     lock up can result.  Note that there would be no point in issuing
  828.     this command with VPRINT resident, since you could accomplish the
  829.     same task with:
  830.  
  831.          COPY filename1 VIRTUAL.PRN
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.                                                                    11
  861.     Similar lock-ups can occur if you perform i/o redirection to one
  862.     of DOS's reserved printer devices.  For example, in risky mode:
  863.  
  864.          DIR >LPT1:
  865.  
  866.     will sometimes lock up the system.  Again, with VPRINT resident,
  867.     you can accomplish the same thing (safely) with the command:
  868.  
  869.          DIR >VIRTUAL.PRN
  870.  
  871.     Another source of lock-ups would occur if you specified one of
  872.     DOS's printer devices as the file for VPRINT to use.  For this
  873.     reason, VPRINT will reject filenames PRN, LPT1: or LPT2:.
  874.  
  875.     Again, there is no reason to want to VPRINT to one of the printer
  876.     devices.  To send output to a printer, just disable VPRINT with
  877.     option /D.
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.                                                                    12
  927.  
  928.     >> Miscellaneous and a Word From Our Sponsor...<<
  929.  
  930.     A. Programming Notes
  931.  
  932.        1.  VPRINT is written in assembly language for maximum speed
  933.           and minimum size.  The source code is available to
  934.           registered users by sending a formatted disk and a stamped
  935.           return mailer.   The source code is in the syntax of the
  936.           CHASM assembler, which is another product of Whitman
  937.           Software.  A one page advertisement for CHASM is given near
  938.           the end of this document.
  939.  
  940.           If you make any improvements in VPRINT, I'd like to hear
  941.           about them for possible inclusion in future releases.
  942.  
  943.           Please note that although you can modify VPRINT for your
  944.           own use, under NO CIRCUMSTANCES may you distribute modified
  945.           or translated versions, either in the public domain or for
  946.           profit.
  947.  
  948.        2. VPRINT monitors BIOS interrupts 17H (PRINTER_IO), and 28H
  949.           (DOS_IDLE).  No other interrupts are affected.  Virtually
  950.           all software interfaces to the parallel ports via interrupt
  951.           17H.  Obviously programs which bypass the BIOS for printer
  952.           output will be unaffected by VPRINT.
  953.  
  954.           DOS_IDLE is an undocumented interrupt which is executed by
  955.           DOS during keyboard input, and possibly other times.  Disk
  956.           i/o is safe during int 28H, and intercepting this vector is
  957.           one of the methods VPRINT uses to perform "harmless mode"
  958.           output.  The DOS PRINT command functions by intercepting
  959.           int 28H.
  960.  
  961.        3. To change options in the resident code, VPRINT examines the
  962.           vector for interrupt 17H, then searches at the specified
  963.           location for a "recognition string".   If this recognition
  964.           string is not matched, changes are aborted.  If you load
  965.           another memory resident program after VPRINT that
  966.           intercepts interrupt 17H, you will not be able to change
  967.           options or files used by the resident part of VPRINT.
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.                                                                    13
  993.        4. DOS is not re-entrant, and it is supposed to be illegal for
  994.           interrupt handlers to call DOS.  VPRINT seems to get away
  995.           with it though, and the function seems useful enough
  996.           justify the risk of a system crash.  I strongly urge that
  997.           you back up all data before turning on risky mode.
  998.  
  999.  
  1000.     B. Red Tape and Legal Nonsense:
  1001.  
  1002.        1. Disclaimer:
  1003.  
  1004.           VPRINT is distributed as is, with no guarantee that it will
  1005.           work correctly in all situations.  In no event will the
  1006.           Author be liable for any damages, including lost profits,
  1007.           lost savings or other incidental or consequential damages
  1008.           arising out of the use of or inability to use this program,
  1009.           even if the Author has been advised of the possibility of
  1010.           such damages, or for any claim by any other party.
  1011.  
  1012.           Despite the somewhat imposing statement above, it *is* my
  1013.           intention to fix any bugs which are brought to my
  1014.           attention.  Note that since VPRINT breaks one of DOS's
  1015.           rules, there may be circumstances which have no possible
  1016.           correction.
  1017.  
  1018.        2. Copyright Information
  1019.  
  1020.           The entire VPRINT distribution package, consisting of the
  1021.           program, documentation file, and source code file are
  1022.           copyright (c) 1986 and 1987 by David Whitman.  The author
  1023.           reserves the exclusive right to distribute this package, or
  1024.           any part thereof, for profit.  The name VPRINT (tm) applied
  1025.           to a microcomputer printer redirection utility is a trade
  1026.           mark of David Whitman.
  1027.  
  1028.           The VPRINT package (with the exception of the source code
  1029.           file VPRINT.ASM) may be freely copied by individuals for
  1030.           evaluation purposes.  It is expected that those who find
  1031.           the package useful will make a contribution directly to the
  1032.           author of the program.
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.                                                                    14
  1059.           VPRINT's source code is made available to registered
  1060.           users for educational purposes and to allow them to
  1061.           customize for their own personal use.  The source code file
  1062.           is available only to those who make the suggested payment
  1063.           for use of VPRINT.  Under NO CIRCUMSTANCES may modified
  1064.           versions or translations into other computer languages be
  1065.           distributed, either for profit or in the public domain.
  1066.  
  1067.           User's groups, clubs, libraries and clearing houses are
  1068.           authorized to distribute VPRINT under the following
  1069.           conditions:
  1070.  
  1071.           1. No charge is made for the software or documentation.  A
  1072.              nominal distribution fee may be charged, provided that
  1073.              is no more that $8 total.
  1074.  
  1075.           2. Recipients are to be informed of the user-supported
  1076.              software concept, and encouraged to support it with
  1077.              their donations.
  1078.  
  1079.           3. The program and documentation are distributed together
  1080.              and are not modified in ANY way.
  1081.  
  1082.           4. The source code file VPRINT.ASM or disassemblies of
  1083.              VPRINT.COM may not be distributed.
  1084.  
  1085.     C. An Offer You Can't Refuse.
  1086.  
  1087.        VPRINT is user-supported software, distributed under a system
  1088.        identical to the FREEWARE (tm) marketing scheme developed by
  1089.        the late Andrew Flugelman, whose efforts are gratefully
  1090.        acknowledged.
  1091.  
  1092.        Anyone may obtain a free copy of VPRINT by sending a blank,
  1093.        formatted diskette to the author.  An addressed, postage-paid
  1094.        return mailer must accompany the disk (no exceptions, please).
  1095.  
  1096.        A copy of the program, with documentation, will be sent by
  1097.        return mail.  The program will carry a notice suggesting a
  1098.        payment to the program's author.  Making the payment is
  1099.        totally voluntary on the part of the user.  Regardless of
  1100.        whether a payment is made, the user is encouraged to share the
  1101.        program with others.  Payment for use is discretionary on the
  1102.        part of each subsequent user.
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.                                                                    15
  1125.        The underlying philosophy here is based on the following
  1126.        principles:
  1127.  
  1128.        First, that the value and utility of software is best assessed
  1129.           by the user on his/her own system.  Only after using a
  1130.           program can one really determine whether it serves personal
  1131.           applications, needs, and tastes.
  1132.  
  1133.        Second, that the creation of independent personal computer
  1134.           software can and should be supported by those who benefit
  1135.           from its use.  Remember the Tanstaafl principal: There
  1136.           Ain't No Such Thing As A Free Lunch.  Support to authors
  1137.           encourages the continued creation of novel, low cost
  1138.           software.
  1139.  
  1140.        Finally, that copying and networking of programs should be
  1141.           encouraged, rather than restricted.  The ease with which
  1142.           software can be distributed outside traditional commercial
  1143.           channels reflects the strength, rather than the weakness,
  1144.           of electronic information.
  1145.  
  1146.     If you like this software, please help support it.  Your support
  1147.     take three forms:
  1148.  
  1149.         1. Become a registered user.  The suggested payment for
  1150.            registration is $15.
  1151.  
  1152.         2. Suggestions, comments and bug reports.  Your comments will
  1153.            be taken seriously.  VPRINT will evolve over time, based
  1154.            on the feedback of users.
  1155.  
  1156.         3. Spread the word.  Make copies for friends, or send the
  1157.            program to your favorite BBS.  Astronomical advertising
  1158.            costs are one big reason that commercial software is so
  1159.            overpriced.  To continue offering VPRINT this way, I need
  1160.            your help in letting other people know about VPRINT.
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.                                                                    16
  1191.     Those who make the suggested $15 payment to become registered
  1192.     users receive the following benefits:
  1193.  
  1194.         1. Access to VPRINT's heavily commented source code.
  1195.  
  1196.         2. User support, by phone or mail.  SUPPORT IS ONLY AVAILABLE
  1197.            TO REGISTERED USERS.
  1198.  
  1199.         3. Notices of significant upgrades.
  1200.  
  1201.         4. A warm, fuzzy feeling of having done the right thing.  The
  1202.            converse is also true.  If you continue to use VPRINT
  1203.            without making the suggested payment, your self-image will
  1204.            gradually deteriorate until you wake up one day in the
  1205.            gutter on Skid Row, grubbing for cigarette butts and
  1206.            discarded floppy disks.  Honest.
  1207.  
  1208.     This documentation file was written using Volkswriter 3, then
  1209.     printed and captured by VPRINT to eliminate Volkswriter's special
  1210.     effects markers and get proper pagination.  Option /C was in
  1211.     effect to force line feeds into CR/LF pairs.
  1212.  
  1213.  
  1214.            - Dave Whitman
  1215.  
  1216.              Whitman Software
  1217.              P.O. Box 1157
  1218.              North Wales, PA  19454
  1219.  
  1220.              (215) 234-4084
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.                                                                    17
  1257.  
  1258.              >> Registration Form (version 3.01)<<
  1259.  
  1260.  
  1261.     Please send me a copy of the current version of VPRINT, and
  1262.     add me to the list of registered VPRINT users, to be eligible for
  1263.     phone support and upgrade notices.  I enclose a check for $15.
  1264.  
  1265.     Note: as of version 2, VPRINT requires DOS 2 or later to run.
  1266.  
  1267.  
  1268.     Computer Model: ______________________________
  1269.  
  1270.     Diskette Format:   ____ single    _____ double sided
  1271.  
  1272.  
  1273.     Where did you hear about VPRINT? _______________________
  1274.  
  1275.     =========================================================
  1276.  
  1277.     Name:             ______________________________________
  1278.  
  1279.     Address:          ______________________________________
  1280.  
  1281.     City, State, Zip: ______________________________________
  1282.  
  1283.     ==========================================================
  1284.  
  1285.      Send registration form and check to:
  1286.  
  1287.           Whitman Software
  1288.           P.O. Box 1157
  1289.           North Wales, PA  19454
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.                                                                    18
  1323.  
  1324.  
  1325.                   >> Also Available  <<
  1326.  
  1327.     CHASM is a full featured assembler for the IBM PC.
  1328.     Substantially simpler than the IBM macro assembler, CHASM is
  1329.     particularly suited for those learning assembly language.
  1330.  
  1331.     Using CHASM you can:
  1332.  
  1333.        * Learn 8088 / 8086 / 8087 assembly language.
  1334.  
  1335.        * Explore the inner workings of the IBM PC.
  1336.  
  1337.        * Write lighting-fast stand alone programs.
  1338.  
  1339.        * Produce machine language subroutines for BASIC programs.
  1340.  
  1341.        * Write external procedures or inline code for Turbo Pascal.
  1342.  
  1343.     Although easy enough for beginners, CHASM is powerful
  1344.     enough for production coding.  VPRINT was produced using CHASM.
  1345.  
  1346.     CHASM features macros, conditional assembly, structured
  1347.     variables, operand expressions and much more.  A free evaluation
  1348.     version can be obtained by sending a formatted disk and stamped
  1349.     return mailer to:
  1350.  
  1351.              Whitman Software
  1352.              P.O. Box 1157
  1353.              North Wales, PA 19454
  1354.  
  1355.     A payment of $40 is requested from those who find the program
  1356.     useful.  Those who make this payment are upgraded to a version
  1357.     which runs twice as fast.
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.